package basicas;

import java.util.Date;

import javax.persistence.AssociationOverride;
import javax.persistence.AssociationOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;





@Entity
@Table(name="passe_atracao")
@AssociationOverrides({
	@AssociationOverride(name = "id.passe", joinColumns = @JoinColumn(name = "cod_passe")),
	@AssociationOverride(name = "id.atracao", joinColumns = @JoinColumn(name = "cod_atracao")) })

public class PasseAtracao {
	
	@EmbeddedId
	private PasseAtracaoPK id;
	private Boolean visitado;
	@Temporal(TemporalType.TIMESTAMP)
	private Date dhOperacao;
	@Enumerated(EnumType.STRING)
	@Column(name="tipoOperacao", length=20)
	private TipoOperacao tipoOperacao;
	@ManyToOne
	@JoinColumn(name="id_usuario")
	private Usuario usuarioRealizador;

	/**
	 * @return the id
	 */
	public PasseAtracaoPK getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(PasseAtracaoPK id) {
		this.id = id;
	}

	/**
	 * @return the visitado
	 */
	public Boolean getVisitado() {
		return visitado;
	}

	/**
	 * @param visitado the visitado to set
	 */
	public void setVisitado(Boolean visitado) {
		this.visitado = visitado;
	}

	/**
	 * @return the dhOperacao
	 */
	public Date getDhOperacao() {
		return dhOperacao;
	}

	/**
	 * @param dhOperacao the dhOperacao to set
	 */
	public void setDhOperacao(Date dhOperacao) {
		this.dhOperacao = dhOperacao;
	}

	/**
	 * @return the tipoOperacao
	 */
	public TipoOperacao getTipoOperacao() {
		return tipoOperacao;
	}

	/**
	 * @param tipoOperacao the tipoOperacao to set
	 */
	public void setTipoOperacao(TipoOperacao tipoOperacao) {
		this.tipoOperacao = tipoOperacao;
	}

	/**
	 * @return the usuarioRealizador
	 */
	public Usuario getUsuarioRealizador() {
		return usuarioRealizador;
	}

	/**
	 * @param usuarioRealizador the usuarioRealizador to set
	 */
	public void setUsuarioRealizador(Usuario usuarioRealizador) {
		this.usuarioRealizador = usuarioRealizador;
	}
	
	
	
	

}
